using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace QldtSdh.DAL.Models.Mapping
{
    public class DotThiMap : EntityTypeConfiguration<DotThi>
    {
        public DotThiMap()
        {
            // Khoá chính
            this.HasKey(t => t.MaDotThiGUID);

            // Các cột
            this.Property(t => t.MaDotThiGUID)
                .IsRequired()
                .HasMaxLength(50);
            this.Property(t => t.MaHocKyGUID)
                .IsRequired()
                .HasMaxLength(50);

            // Ánh xạ Property của POCO vào Column của Table
            this.ToTable("DotThi");
            this.Property(t => t.MaHocKyGUID).HasColumnName("MaHocKyGUID");
            this.Property(t => t.MaDotThiGUID).HasColumnName("MaDotThiGUID");
            this.Property(t => t.TenDotThi).HasColumnName("TenDotThi");

            this.HasRequired(t => t.HocKy)
                .WithMany(t => t.ListDotThi)
                .HasForeignKey(t => t.MaHocKyGUID);
        }
    }
}
